Many software applications may require reliable identification of user interface elements displayed by the software applications. For instance, software testing tools, such as Selenium, can be used to automate performance of testing operations on user interface elements of software applications. The testing operations can be specified in a software test script configured to validate proper operation of an application or various elements of the application. In particular, the test script can specify user interface elements upon which the testing operations are to be performed, and can further specify the particular testing operations to be performed. The test script can specify a test element upon which the testing operations are to be performed using one or more suitable “locators” specifying one or more attributes of the test element to identify the test element within the application.
After or during performance of the testing operations, the application may be updated. Such an update can change various attributes of the test elements of the application. When attributes of a test element used in a test script locator for the test element are changed, the test script locator may no longer be able to locate and identify the test element. In that case, the test may fail, or the test may no longer appropriately validate the updated elements. For this reason, when an update occurs, a test script may need to be re-written.